
<!DOCTYPE html>
<html>
<head>
    <title>微信扫码示例</title>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
    <script>        // 假设后端接口返回的config信息如下格式
    var configData = {
        "debug": false,
        "appId": "wx2691fda8aa073bd7",
        "timestamp": "1718969530",
        "nonceStr": "T7WLLNaSK4ZQMp24",
        "signature": "0cf069ca78b250e02df1e44a6ea7df779d29fb44",
        "jsApiList": ["scanQRCode"]
    };

    // 配置微信JS-SDK
    wx.config({
        debug: configData.debug,
        appId: configData.appId,
        timestamp: configData.timestamp,
        nonceStr: configData.nonceStr,
        signature: configData.signature,
        jsApiList: configData.jsApiList
    });

    wx.ready(function () {
        // 扫码事件
        document.getElementById("scanBtn").onclick = function () {
            alert("点击了扫码按钮");
            wx.scanQRCode({
                needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
                scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                success: function (res) {
                    alert("扫码成功"+ JSON.stringify(res));
                    var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
                    console.log(result);
                    debugger
                    // 这里可以发送result到后端进行处理
                    sendScanResultToServer(result);
                },

                fail: function (res) {
                    alert("扫码失败"+ JSON.stringify(res));
                }
            });
        };
    });

    function sendScanResultToServer(result) {
        // 发送扫码结果到后端
        fetch('/your-backend-scan-handler', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({scanResult: result})
        })
            .then(response => response.json())
            .then(data => console.log(data))
            .catch(error => console.error('Error:', error));
    }
    </script>
</head>
<body>
<button id="scanBtn">点击扫描二维码</button>
</body>
</html>
